Day 1 - 恶意软件分析
恶意软件分析是了解恶意软件工作原理以及如何检测和预防的工作。 虽然我还没有深入到恶意软件的深层次,例如逆向工程,但我有机会探索基本的恶意软件分析。 我希望我的分享能够帮助那些想要迈出恶意软件分析第一步的人。
基本的恶意软件分析包括静态分析和动态分析,正如我在下面的红线中强调的那样:

如何开始学习恶意软件分析 | SANS
参考资料
分析技巧
分析人员在恶意软件分析过程中需要调查几个要点。 这里有一些对于分析非常有效的技巧。
| 静态分析 | 备注 |
|---|---|
| 文件类型 | 检查文件的魔幻数字(magic number),例如"MZ"开头的文件表示.exe的文件 |
| 壳检查 | 检查加壳——攻击者使用UPX、MEW等压缩来混淆PE文件。 |
| 时间戳 | 检查PE文件何时被编译。 |
| Hash值 | 通过文件的MD5, SHA1, SHA256与威胁狩猎的IOC对比。 |
| Dll (动态链接库) | Dll 和 Function 可帮助恶意软件分析人员识别 PE 文件具有哪些功能。 |
| 功能(Imports / Exports) | Dll 和 Function 可帮助恶意软件分析人员识别 PE 文件具有哪些功能。 |
| 字符串 | 查找/获取了解 PE 文件的提示,例如 IP、URL、路径、Dll、函数等。 |
| 动态分析 | 备注 |
|---|---|
| 网络痕迹分析 | 在静态分析阶段,您可以从字符串值中获取一些与网络活动相关的线索。 例如,您可以使用 Wireshark 跟踪 HTTP(80)、DNS(53) 等网络活动,甚至过滤某些 URL 关键字。 |
| 主机痕迹分析 | 在静态分析阶段,您可以从字符串值中获得一些与主机活动相关的线索 - **PE文件、进程、命令、路径等。**这些都是动态分析中非常宝贵的关键。 例如,跟踪 PE 文件基于时间线的活动。 监控进程树等PE文件的关系。 通过暂停和恢复流程来一一确认活动。 或者甚至比较恶意软件执行前后的注册表项活动。 |
分析工具
在基本的静态/动态恶意软件分析过程中,我通常使用这些工具:
静态分析
■ Pestudio (https://www.winitor.com/download)
■ VirusTotal (https://www.virustotal.com/gui/home/upload)
■ floss (https://github.com/mandiant/flare-floss)
■ MalAPI.io (https://malapi.io/)
动态分析
■ Wireshark (https://www.wireshark.org/download.html)
■ TCPView (https://learn.microsoft.com/en-us/sysinternals/downloads/tcpview)
■ Process Monitor (https://learn.microsoft.com/en-us/sysinternals/downloads/procmon)
■ Process Explorer (https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer)
■ Process Hacker (https://processhacker.sourceforge.io/)
■ regshot (https://sourceforge.net/projects/regshot/)